<?php


declare (strict_types=1);

namespace app\store\model\store;

use app\common\model\store\Menu as MenuModel;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;

/**
 * 机构后台菜单模型
 * Class Menu
 * @package app\store\model\store
 */
class Menu extends MenuModel
{
    // 隐藏的字段
    protected $hidden = [
        'action_mark',
        'sort',
        'create_time',
        'update_time'
    ];

    /**
     * 根据菜单ID集获取列表
     * @param array $menuIds
     * @return mixed
     * @throws DataNotFoundException
     * @throws DbException
     * @throws ModelNotFoundException
     */
    public static function getListByIds(array $menuIds)
    {
        // 菜单列表
        $list = static::getAll([['menu_id', 'in', $menuIds]]);
        // 整理菜单绑定的apiID集
        return (new static)->getTreeData($list);
    }

}
